//! \file DdAbilities.h
//! \brief This file maintains the grouping of each unique ability.
//!
//! Each ability describes the character and affects some of the characters
//! actions.
//! TODO: document further?
// -----------------------------------------------------------------------------
//! This program is free software; you can redistribute it and/or
//! modify it under the terms of the GNU General Public License
//! as published by the Free Software Foundation; either version 2
//! of the License, or (at your option) any later version.
//!
//! This program is distributed in the hope that it will be useful,
//! but WITHOUT ANY WARRANTY; without even the implied warranty of
//! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//! GNU General Public License for more details.
//!
//! You should have received a copy of the GNU General Public License
//! along with this program; if not, write to the Free Software Foundation,
//! Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
// -----------------------------------------------------------------------------

#ifndef DD_ABILITIES_H_
  #define DD_ABILITIES_H_

  // =====[ DD Abilities Data Types ]===========================================

  // ===========================================================================
  //! \struct tDD_Abilities
  //! \brief TODO: document
  // ---------------------------------------------------------------------------
  typedef struct
  {
    int Str; /*! Strength.  Strength measures the character's muscle and
                 physical power.                                              */
    int Dex; /*! Dexterity. Dexterity measures hand-eye coordination,
                 agility, reflexes and balance.                               */
    int Con; /*! Constitution. Constitution represents the characters health
                 and stamina.                                                 */
    int Int; /*! Intelligence. Intelligence determines how well the character
                 learns and reasons.                                          */
    int Wis; /*! Wisdom. Wisdom describes a characters will-power, common
                 sense, perception and intuition.                             */
    int Cha; /*! Charisma. Charisma measures a character's force of
                 personality, persuasiveness, personal magnetism, ability to
                 lead, and physical attractiveness.                           */
  } tDdAbilities;

  // ===========================================================================
  //! \struct tDD_ABILITIES
  //! \brief TODO: document
  // ---------------------------------------------------------------------------
  typedef tDdAbilities* tDD_ABILITIES;

  // =====[ DD Abilities Methods ]==============================================

  // ===========================================================================
  // DdAbility_Sum
  // ---------------------------------------------------------------------------
  //! TODO: document
  //!
  //! \param [in] A
  //!   TODO: document
  //! \param [in] B
    //!   TODO: document
  //!
  //! \retval Results
  //!   TODO: document
  //!
  //! \b Example: \code
  //! tDD_Abilities Base, Bonus;
  //! tDD_Abilities Results;
  //! Results = DdAbility_Sum(Base, Bonus);
  //! \endcode
  // ---------------------------------------------------------------------------
  tDdAbilities DdAbility_Sum(tDdAbilities A, tDdAbilities B);

#endif // DDABILITIES_H_
